const {defineConfig} = require('@vue/cli-service');

const port = process.env.port || process.env.npm_config_port || 8088; // 端口

module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    host: '0.0.0.0', // 监听的主机名
    port: port, // 端口号
    open: true, // 启动后自动打开浏览器
    hot: true, // 开启热更新
    proxy: {
      '/api': {
        /* target: 'http://172.26.13.224:8088',*/
        target: 'http://127.0.0.1:8070',
        changeOrigin: true, // 对于虚拟托管的站点，是否更改源
        pathRewrite: {'^/api': ''}, // 重写路径
      },
    },
    historyApiFallback: true, // 用于支持前端路由
  },
  configureWebpack: {
    // 生产环境中可以进行一些优化配置
    optimization: {
      splitChunks: {
        chunks: 'all',
      },
    },
  },
  chainWebpack: config => {
    // 添加环境变量支持
    config.plugin('define').tap(definitions => {
      Object.assign(definitions[0]['process.env'], {
        VUE_APP_API_BASE_URL: JSON.stringify(
            process.env.VUE_APP_API_BASE_URL || 'http://localhost:8080'),
      });
      return definitions;
    });
  },
});
